<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="style.css" />
    <title>Cygwin Installation</title>
  </head>

<body>
<!--#include virtual="navbar.html" -->
<div id="main">
<!--#include virtual="top.html" -->
<h1>Installing and Updating Cygwin Packages</h1>
<div class="background">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<h2>Installing and Updating Cygwin for 32-bit versions of Windows</h2>
<b class="rbottom"><b class="r4"></b><b class="r3"></b><b class="r2"></b><b class="r1"></b></b>
</div>
<p>Run <a href="setup-x86.exe">setup-x86.exe</a> any time you want to update or
install a Cygwin package for 32-bit windows. The <a href="setup-x86.exe.sig">signature</a> for <a
href="setup-x86.exe">setup-x86.exe</a> can be used to verify the validity of
this binary using <a href="key/pubring.asc">this</a> public key.</p>


<div class="background">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<h2>Installing and Updating Cygwin for 64-bit versions of Windows</h2>
<b class="rbottom"><b class="r4"></b><b class="r3"></b><b class="r2"></b><b class="r1"></b></b>
</div>
<p>Run <a href="setup-x86_64.exe">setup-x86_64.exe</a> any time you want to update or
install a Cygwin package for 64-bit windows. The <a href="setup-x86_64.exe.sig">signature</a> for <a
href="setup-x86_64.exe">setup-x86_64.exe</a> can be used to verify the validity of
this binary using <a href="key/pubring.asc">this</a> public key.</p>

<div class="background">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<h2>General installation notes</h2>
<b class="rbottom"><b class="r4"></b><b class="r3"></b><b class="r2"></b><b class="r1"></b></b>
</div>

<p>When installing packages for the first time, <tt>setup*.exe</tt>
<em>does not install every package</em>.  Only the <b>minimal base packages</b>
from the Cygwin distribution are installed by default, which takes up about 100 MB.
</p>

<p>
Clicking on categories and packages in the <tt>setup*.exe</tt> package installation
screen allows you to select what is installed or updated.
</p>

<p>Individual packages like <em>bash</em>, <em>gcc</em>, <em>less</em>, etc.
are released independently of the Cygwin DLL, so the Cygwin DLL version is not
useful as a general Cygwin release number.  The <tt>setup*.exe</tt> utility
tracks the versions of all installed components and provides the mechanism
for <b>installing</b> or <b>updating</b> everything available from this site for
Cygwin.</p>

<p>Once you've installed your desired subset of the Cygwin distribution,
setup*.exe will remember what you selected so rerunning the
program will update your system with any new package releases.</p>

<p>On Windows Vista and later, <tt>setup*.exe</tt> will check by
default if it runs with administrative privileges and, if not, will try
to elevate the process.  If you want to avoid this behaviour and install
under an unprivileged account just for your own usage, run
<tt>setup*.exe</tt> with the <tt>--no-admin</tt> option.</p>

<p>The <tt>setup*.exe</tt> installer is designed to be easy for new users
to understand while remaining flexible for the experienced.  The
volunteer development team is constantly working on
<tt>setup*.exe</tt>; before requesting a new feature, check the
wishlist in the
<a href="https://sourceware.org/git/gitweb.cgi?p=cygwin-setup.git;a=blob;f=README;hb=HEAD">
README</a>.</p>

<div class="background">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<h2>Q: Is there a command-line installer?</h2>
<b class="rbottom"><b class="r4"></b><b class="r3"></b><b class="r2"></b><b class="r1"></b></b>
</div>
<p>A: Yes and no.  The <tt>setup*.exe</tt> program understands
<a href="faq/faq.html#faq.setup.cli">command-line
arguments</a> which allow you to control its behavior and choose
individual packages to install.  While this provides some functionality
similar to such tools as <tt>apt-get</tt> or <tt>yum</tt> it is not as
full-featured as those packages.</p>
<p>The basic reason for not having a more full-featured package manager is that
such a program would need full access to all of Cygwin's POSIX functionality.  That
is, however, difficult to provide in a Cygwin-free environment, such as exists on
first installation.  Additionally, Windows does not easily allow overwriting of
in-use executables so installing a new version of the Cygwin DLL while a package
manager is using the DLL is problematic.
</p>

<div class="background">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<h2>Q: How do I install everything?</h2>
<b class="rbottom"><b class="r4"></b><b class="r3"></b><b class="r2"></b><b class="r1"></b></b>
</div>
<p>
A: You do not want to do this!  This will install an enormous amount of packages
that you will never use, including debuginfo and source for every package.
</p>
<p>
Clicking on the "Default" label next to the "All" category to change it to
"Install" will mark every Cygwin package for installation.  Be advised that this
will download and install tens of gigabytes to your computer.
</p>

</div>
</body>
</html>
